/************************************************************************

								Heroes III
					  Copyright 1998, The 3DO Company

	------------------------------------------------------------------
  							    diff.h

	$Header: /Heroes3Exp2/Game/diff.h 1     9/13/99 10:49a Drichey $

	$NoKeywords: $

 ************************************************************************/


//---------------------------------------------------------------------------
// This code is used to make and read save game diff files.  Save game diff
// files are used when transfering turn data from player to player.....
// these diff files should be considerably smaller than sending the full 
// save game...............
//---------------------------------------------------------------------------

#ifndef DIFF_H_INCLUDED
#define DIFF_H_INCLUDED

#include <algorithm>
#include <bitset>
#include <cstdlib>
#include <list>
#include <map>

class t_diff 
{
public:
	
	t_diff();
	virtual ~t_diff();

	void apply (	std::streambuf & stream_init  ,
					std::streambuf & stream_final ,
					std::streambuf & diff_stream );
};

/*
class CDiffMaker
{
public:
	BYTE		*m_oldData;
	BYTE		*m_newData;
	int			m_oldSize;
	int			m_newSize;

	CDiffMaker (BYTE *oldData, int oldSize, BYTE *newData, int newSize);

	CDiffFile *MakeDiff (DWORD &diffSize);

protected:
	int CountSameBytes (int oldOffset, int newOffset);
	bool FindNextSame (int oldOffset, int newOffset, int &oldCount, int &newCount);

};
*/

#endif	//DIFF_H_INCLUDED
